package com.yao.myioc.registry;

import com.yao.myioc.definition.BeanDefinition;

import java.util.List;

/**
 * bean定义信息注册接口，提供对beanDefinition的管理
 * @author Henry Yao
 */
public interface BeanDefinitionRegistry {
    /**
     * 注册bean的定义信息
     * @param bd
     * @param name
     */
    void addBeanDefinition(String name,BeanDefinition bd);

    /**
     * 根据bean名称获取bean的定义信息
     * @param beanName
     * @return
     */
    BeanDefinition getBeanDefinition(String beanName);

    /**
     * 获取所有的beanDefinition
     * @return
     */
    List<BeanDefinition> getBeanDefinitions();
}
